Servlet : 3.1
Servlet 是用 Java 编写的服务器端程序。主要功能在于交互式地浏览和修改数据,生成动态 Web 内网。
狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类。
绝大多数情况下 Servlet 只用于扩展基于 HTTP 协议的 Web 服务器。
当 Servlet 被部署在应用服务器中(如 Tomcat)以后,将由容器控制 Servlet 的生命周期。
一般情况下,Servlet 只会在第一次请求的时候被加载和实例化。Servlet 一旦被加载,一般不会从容器中删除,当应用服务器关闭或重新启动时,Servlet 会被销毁。
Java Servlet 源码:
1 | package javax.servlet; |
Servlet 是一个接口,其中包含的方法比较简单:
- 生命周期方法:init,service,destroy
- 非生命周期方法:getServletConfig,getServletInfo
其中:
- init 方法只有 Servlet 被容器加载后接收第一次请求时被调用一次
- destroy 方法只有容器关闭或重启时,被调用一次
- service 方法当 Servlet 接收到请求时即会调用,可以无限次数调用
Servlet 工作流程:
Servlet 有一个抽象实现类:
1 | package javax.servlet; |
GenerticServlet 仅仅提供了一些便捷的函数,未做具体处理。